-
Notifications
You must be signed in to change notification settings - Fork 7.9k
Implement GH-13514 PASSWORD_ARGON2 from OpenSSL 3.2 #13635
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement GH-13514 PASSWORD_ARGON2 from OpenSSL 3.2 #13635
Conversation
Quick bench
|
Notice: As openssl is (usually) loaded before sodium, it will be used by default when libargon2 is not used. |
I'm not sure about the second commit (simplify init/shutdown)
|
Additional notice: As we need base64 without padding, a later feature/PR (ext/standard) will be to add a NOPADDING option to P.S. see PR #13698 |
2c89110
to
756ae17
Compare
Rebased and switch to |
756ae17
to
cfed1f7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think only issue might be usage OSSL_set_max_threads
that needs more checking and possibly changing. Other than that, there are mostly minor things to change.
@bukka requested changes done |
f5ddf51
to
726600d
Compare
Notice: the Using 1 thread per lane allows faster hashing. |
Yeah and from your results it is visible that only one thread means twice slow down compare to sodium in hashing so might not be the best idea prefer it over sodium... I was a bit busy but should have time in June to look into it properly (hopefully in the next couple of weeks - I know I said this almost 2 months ago but this time I give a bit more priority). |
ping @bukka Sorry can you please review, I'd really like to see this land in 8.4, before beta P.S. Branch as already diverged, more time will give more work to merge |
@remicollet See #14734 . It's quite a lot of work and we will also need to to introduce some way to better configure providers for that context so I'm afraid it won't be ready for 8.4 as I'm currently primarily focusing on other projects and this is more a side thing. Without that this change is not safe for ZTS so the only way forward for this in 8.4 is to allow it only for non ZTS builds. Using a single thread does not make much sense to me as it would decrease performance. |
726600d
to
f22d8a3
Compare
PR rebased Also add a Check for ZTS could be removed when #14734 will be merged |
@bukka sorry to ping you again, this is ready for final review/merge |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@remicollet sorry for the delay - I actually started review 2 weeks ago but didn't finish it. Looks good except that libctx that shouldn't be there if it's just for non ZTS. Ohter comments mostly NITs and CS
f22d8a3
to
ddcc40f
Compare
Rebased, All requested changes done, ready for another review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me, just one thing and one NIT.
All done |
@bukka can we please move forward, this PR is 6 months old now and all nits fixed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One hopefully last thing
Done |
@remicollet you should get blessing of RM before merging this though. See https://github.com/php/policies/blob/main/release-process.rst#beta-releases . |
see #12701 or #13514